You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
check if there are any version documents in the release which have transactions after the publish transaction
Generate all document states the revert to
Generating document states is optimistically started - when the confirm dialog opens then this process starts. If the states are resolved before the confirm button is pressed, then these states will immediately be used to create new version documents. If these states are still pending, then the creation of the revert release will await completion before proceeding.
Testing
Added tests for the new hooks to:
determine if there is further history in any document after the original release publish
fetch the document states to revert to
Tests also for createReleaseOperationsStore where the revertRelease operation exists.
efps — editor "frames per second". The number of updates assumed to be possible within a second.
Derived from input latency. efps = 1000 / input_latency
Detailed information
🏠 Reference result
The performance result of sanity@latest
Benchmark
latency
p75
p90
p99
blocking time
test duration
article (title)
37ms
39ms
46ms
62ms
147ms
10.0s
article (body)
15ms
18ms
22ms
192ms
271ms
5.3s
article (string inside object)
38ms
45ms
50ms
235ms
276ms
6.9s
article (string inside array)
42ms
45ms
57ms
249ms
272ms
7.1s
recipe (name)
22ms
23ms
26ms
38ms
0ms
7.7s
recipe (description)
19ms
21ms
24ms
29ms
0ms
4.7s
recipe (instructions)
6ms
8ms
10ms
19ms
0ms
3.2s
synthetic (title)
51ms
53ms
57ms
128ms
177ms
12.8s
synthetic (string inside object)
51ms
54ms
74ms
559ms
973ms
8.4s
🧪 Experiment result
The performance result of this branch
Benchmark
latency
p75
p90
p99
blocking time
test duration
article (title)
56ms
59ms
65ms
231ms
997ms
12.2s
article (body)
14ms
17ms
33ms
104ms
152ms
4.9s
article (string inside object)
56ms
58ms
67ms
320ms
875ms
8.5s
article (string inside array)
59ms
62ms
70ms
285ms
1219ms
8.9s
recipe (name)
36ms
39ms
45ms
74ms
22ms
8.6s
recipe (description)
33ms
35ms
41ms
85ms
5ms
6.1s
recipe (instructions)
6ms
8ms
9ms
20ms
0ms
3.2s
synthetic (title)
142ms
153ms
176ms
743ms
7357ms
22.0s
synthetic (string inside object)
138ms
144ms
159ms
564ms
6526ms
16.8s
📚 Glossary
column definitions
benchmark — the name of the test, e.g. "article", followed by the label of the field being measured, e.g. "(title)".
latency — the time between when a key was pressed and when it was rendered. derived from a set of samples. the median (p50) is shown to show the most common latency.
p75 — the 75th percentile of the input latency in the test run. 75% of the sampled inputs in this benchmark were processed faster than this value. this provides insight into the upper range of typical performance.
p90 — the 90th percentile of the input latency in the test run. 90% of the sampled inputs were faster than this. this metric helps identify slower interactions that occurred less frequently during the benchmark.
p99 — the 99th percentile of the input latency in the test run. only 1% of sampled inputs were slower than this. this represents the worst-case scenarios encountered during the benchmark, useful for identifying potential performance outliers.
blocking time — the total time during which the main thread was blocked, preventing user input and UI updates. this metric helps identify performance bottlenecks that may cause the interface to feel unresponsive.
test duration — how long the test run took to complete.
Great work, @jordanl17! I've left a few comments/questions for your consideration. Feel free to unblock yourself by merging and address my feedback whenever convenient.
Thanks, I've merged this as it feels 'demo-able' enough. But will create a separate PR for the valid concerns around surfacing up appropriate errors and considering if useDocumentRevertStates can just be async. Will link this PR in the next one I raise shortly
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
https://www.loom.com/share/6eaf274374ba4bb78b8f381bfd8e9fbf?sid=4610ffad-3561-4cdf-82ab-cc76edb72690
What to review
ReleaseRevertButton
Testing
Added tests for the new hooks to:
Tests also for
createReleaseOperationsStore
where therevertRelease
operation exists.Will fast-follow tests for
ReleaseRevertButton
Notes for release
N/A